<html>
<head>
  <title>Evernote Export</title>
  <basefont face="微软雅黑" size="2" />
  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
  <meta name="exporter-version" content="YXBJ Windows/600587 (zh-CN, DDL); Windows/10.0.0 (Win64);"/>
  <style>
    body, td {
      font-family: 微软雅黑;
      font-size: 10pt;
    }
  </style>
</head>
<body>
<a name="672"/>

<div>
<span><div><div style="text-align: left; margin-left: 40px;"><span style="font-weight: bold;"><font style="font-size: 10pt;">【创建与关联】</font></span></div><ul><li><div><font style="font-size: 10pt;">git init   初始化一个本地的空仓库</font></div></li><li><div><font style="font-size: 10pt;">git remote add origin <a href="mailto:git@github.com">git@github.com</a>:&lt;账户名&gt;/&lt;仓库名.git&gt;      本地仓库关联到名为origin（默认名称）的远程库</font></div></li><li><div><font style="font-size: 10pt;">git clone <a href="mailto:git@github.com">git@github.com</a>:&lt;账户名&gt;/&lt;仓库名.git&gt;   ssh协议克隆远程仓库到本地（快速）</font></div></li><li><div><font style="font-size: 10pt;">git clone &lt;http协议地址&gt;    http协议克隆远程仓库到本地（访问github慢）</font></div></li></ul><div><font style="font-size: 10pt;"><br/></font></div><div style="margin-left: 40px;"><font style="font-size: 10pt;"><span style="font-weight: bold;">【本地仓库提交与查看】</span></font></div><ul><li><div><font style="font-size: 10pt;">git add .||add &lt;文件1 文件2 文件3&gt;      加入全部/多个文件到暂存区</font></div></li><li><div><font style="font-size: 10pt;">git commit  -m&quot;&lt;提交说明&gt;&quot;     添加暂存区中所有的文件到版本库的当前分支</font></div></li><li><div><font style="font-size: 10pt;">git status     查看当前状态</font></div></li><li><div><font style="font-size: 10pt;">git diff   查看差异文件</font></div></li><li><div><font style="font-size: 10pt;">git log||log --pretty=oneline   查看历史提交完整模式/简洁模式</font></div></li><li><div><font style="font-size: 10pt;">git rebase  整理本地提交历史生命线</font></div></li></ul><div><font style="font-size: 10pt;"><br/></font></div><div style="margin-left: 40px;"><span style="font-weight: bold;"><font style="font-size: 10pt;">【本地仓库修改】</font></span></div><ul><li><div><font style="font-size: 10pt;">git reset --hard HEAD^||reset --hard HEAD~&lt;数字&gt;||reset --hard &lt;提交id号&gt;    版本回退上级/指定级/指定版本</font></div></li><li><div><font style="font-size: 10pt;">git reflog   查询每次提交的id号</font></div></li><li><div><font style="font-size: 10pt;">git checkout --&lt;文件&gt;  撤销本次修改（包括删除文件）在工作区/暂存区的修改至工作区/暂存区</font></div></li><li><div><font style="font-size: 10pt;">git reset HEAD &lt;文件&gt;  撤销暂存区的修改至工作区</font></div></li><li><div><font style="font-size: 10pt;">git rm &lt;文件&gt;+git commit -m&quot;&lt;提交说明&gt;&quot;   从版本库中删除工作区已删除的文件</font></div></li></ul><div><font style="font-size: 10pt;"><br/></font></div><div style="margin-left: 40px;"><span style="font-weight: bold;"><font style="font-size: 10pt;">【公钥生成】</font></span></div><ul><li><div><font style="font-size: 10pt;">ssh-keygen -t rsa -C &quot;&lt;邮箱地址&gt;&quot;   创建公钥到用户目录.ssh下</font></div></li></ul><div><font style="font-size: 10pt;"><br/></font></div><div style="margin-left: 40px;"><span style="font-weight: bold;"><font style="font-size: 10pt;">【分支创建与查看】</font></span></div><ul><li><div><font style="font-size: 10pt;">git branch &lt;分支名&gt;  在当前分支上创建分支</font></div></li><li><div><font style="font-size: 10pt;">git checkout &lt;分支名&gt;  切换到指定分支</font></div></li><li><div><font style="font-size: 10pt;">git checkout -b &lt;分支名&gt;  在当前分支上创建并切换到指定分支</font></div></li><li><div><font style="font-size: 10pt;">git checkout -b &lt;分支名&gt; origin/&lt;分支名&gt;  创建远程的分支到本地</font></div></li><li><div><font style="font-size: 10pt;">git branch  列出当前所有分支</font></div></li></ul><div><font style="font-size: 10pt;"><br/></font></div><div style="margin-left: 40px;"><span style="font-weight: bold;"><font style="font-size: 10pt;">【分支合并】</font></span></div><ul><li><div><font style="font-size: 10pt;">git merge &lt;分支名&gt;   快速模式合并指定分支到当前分支</font></div></li><li><div><font style="font-size: 10pt;">git merge --no-ff -m&quot;&lt;版本说明&gt;&quot; &lt;分支名&gt;   非快速模式合并</font></div></li><li><div><font style="font-size: 10pt;">git log --graph --pretty=oneline --abbrev-commit     查看分支的合并情况</font></div></li></ul><div><font style="font-size: 10pt;"><br/></font></div><div style="margin-left: 40px;"><span style="font-weight: bold;"><font style="font-size: 10pt;">【分支删除与保存】</font></span></div><ul><li><div><font style="font-size: 10pt;">git branch -d &lt;分支名&gt;  删除指定分支</font></div></li><li><div><font style="font-size: 10pt;">git branch -D &lt;分支名&gt;  强制删除指定分支</font></div></li><li><div><font style="font-size: 10pt;">git stash   保存当前分支工作现场</font></div></li><li><div><font style="font-size: 10pt;">git stash list  查看保存的工作现场列表</font></div></li><li><div><font style="font-size: 10pt;">git stash pop stash@{&lt;现场编号&gt;}  恢复指定工作现场并从现场列表删除</font></div></li></ul><div><font style="font-size: 10pt;"><br/></font></div><div style="margin-left: 40px;"><span style="font-weight: bold;"><font style="font-size: 10pt;">【仓库推送与拉取】</font></span></div><ul><li><div><font style="font-size: 10pt;">git remote -v 查看远程库的信息</font></div></li><li><div><font style="font-size: 10pt;">git push origin &lt;分支名&gt;   推送本地指定分支到远程库对应分支</font></div></li><li><div><font style="font-size: 10pt;">git push -u origin master   推送本地master分支到远程库，并和远程的master分支关联</font></div></li><li><div><font style="font-size: 10pt;">git branch --set-upstream-to=origin/&lt;分支名&gt; &lt;本地分支名&gt;   关联远程分支和本地分支</font></div></li><li><div><font style="font-size: 10pt;">git pull  拉取远程库内容到本地</font></div></li></ul><div><font style="font-size: 10pt;"><br/></font></div><div style="margin-left: 40px;"><span style="font-weight: bold;"><font style="font-size: 10pt;">【commit的标签简化】</font></span></div><ul><li><div><font style="font-size: 10pt;">git tag &lt;版本号&gt;  给当前commit提交打标签（创建指向当前commit的指针）</font></div></li><li><div><font style="font-size: 10pt;">git tag &lt;版本号&gt; &lt;commit提交id号&gt;   给指定某次提交打标签</font></div></li><li><div><font style="font-size: 10pt;">git tag -a &lt;版本号&gt; -m &quot;&lt;版本说明&gt;   打带说明的标签</font></div></li><li><div><font style="font-size: 10pt;">git tag   查看所有标签</font></div></li><li><div><font style="font-size: 10pt;">git show &lt;版本号&gt;   查看指定标签信息</font></div></li><li><div><font style="font-size: 10pt;">git push origin &lt;版本号&gt;  推送指定标签到远程库</font></div></li><li><div><font style="font-size: 10pt;">git push origin --tags   推送所有标签到远程库</font></div></li><li><div><font style="font-size: 10pt;">git tag -d &lt;版本号&gt;   删除本地指定标签版本</font></div></li><li><div><font style="font-size: 10pt;">git push origin :refs/tags/&lt;版本号&gt;   删除远程库指定标签版本</font></div></li></ul><div><font style="font-size: 10pt;"><br/></font></div><div style="margin-left: 40px;"><span style="font-weight: bold;"><font style="font-size: 10pt;">【更换远程库】</font></span></div><ul><li><div><font style="font-size: 10pt;">git remote rm origin  删除已关联的名为origin的远程库</font></div></li></ul><div><font style="font-size: 10pt;"><br/></font></div><div style="margin-left: 40px;"><span style="font-weight: bold;"><font style="font-size: 10pt;">【搭建私有git服务器(Linux)】</font></span></div><ul><li><div><font style="font-size: 10pt;">sudo apt-get install git   安装git</font></div></li><li><div><font style="font-size: 10pt;">sudo adduser git   创建git用户</font></div></li><li><div><font style="font-size: 10pt;">sudo git init --bare &lt;仓库名&gt;  初始化git仓库</font></div></li><li><div><font style="font-size: 10pt;">sudo chown -R git:git &lt;仓库名&gt;   owner改为git</font></div></li></ul><div><font style="font-size: 10pt;"><br/></font></div><div style="margin-left: 40px;"><span style="font-weight: bold;"><font style="font-size: 10pt;">【git使用技巧】</font></span></div><ul><li><div><font style="font-size: 10pt;">git config --global alias.&lt;自定义简称&gt; &lt;原命令语句&gt;    自定义git命令（global为对当前用户有效）</font></div></li><li><div><font style="font-size: 10pt;"><a href="https://github.com/github/gitignore" style="background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; cursor: pointer; outline: 0px; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; color: rgb(4, 119, 171); font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; font-variant-caps: normal; font-variant-ligatures: normal; text-decoration: underline;">https://github.com/github/gitignore</a>    忽略特殊文件的gitignore大全</font></div></li><li><div><font style="font-size: 10pt;">git config --global color.ui true     设置命令输出的颜色</font></div></li></ul><div><font style="font-size: 10pt;"><br/></font></div><div><font style="font-size: 10pt;"><br/></font></div><div><font style="font-size: 10pt;"><br/></font></div></div><div><br/></div></span>
</div></body></html> 